<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>计算属性实现</title>
  <!-- 引入Vue -->
  <script type="text/javascript" src="../js/vue.js"></script>
</head>

<body>
  <!-- 准备好一个容器 -->
  <div id="root">
    姓: <input type="text" v-model="firstName"> <br /><br />
    名: <input type="text" v-model="lastName"><br /> <br />
    全名: <span>{{fullName}}</span>
  </div>
</body>

<script type="text/javascript">

  new Vue({
    el: '#root',
    data: {
      firstName: '张',
      lastName: '三'
    },
    computed: {
      fullName: {
        //get有什么作用?当有人读取fullName 时,get就会被调用，且返回值就作为fullName的值
        //get什么时间调用？1.初次读取fullName时 2.所依赖的数据发生变化时
        get() {
          console.log('get被调用了');
          console.log(this); //此处的this是vm
          return this.firstName + '-' + this.lastName
        },
        //set什么时候调用? 当fullName被修改时
        set(value) {
          console.log('set', value);
          const arr = value.split('-')
          this.firstName = arr[0]
          this.lastName = arr[1]

        }
      }
    }
  })
</script>

</html>